var express = require('express');
var router = express.Router();
const { UserModel } = require('../model/model')


// -------------------- 智控中心 --------------------
require('dotenv').config();
const axios = require('axios');
const DEEPSEEK_URL = 'https://api.deepseek.com/v1/chat/completions';
const DEEPSEEK_MODEL = 'deepseek-chat';

// 修改路由定义从 app 改为 router
router.post('/chat', async (req, res) => {
  const { messages } = req.body;// 从请求体中获取消息
  const maxRetries = 10; // 最大尝试次数
  let attempt = 0; // 当前尝试次数
  let success = false; // 请求是否成功
  let response; // 存储响应
  console.log(process.env.DEEPSEEK_API_KEY)

  while (attempt < maxRetries && !success){
    try{
      // 发送请求到deepseekAPI
      response = await axios.post(DEEPSEEK_URL,{
        model: DEEPSEEK_MODEL,
        messages,
        temperature: 0.7,  // 修复拼写错误 temperatrue -> temperature
      },{
        headers: {
          'Authorization':`Bearer ${process.env.DEEPSEEK_API_KEY}`, // 使用环境变量中的API密钥
          'Content-Type': 'application/json'
        }
      });
      success = true; // 请求成功
    } catch(error) {
      attempt++; // 增加尝试次数
      console.error(`尝试${attempt}次，请求失败：${error.message}`);
      if(attempt >= maxRetries){
        // 到达最大次数返回错误响应
        res.status(error.response?.status || 500).json({
          error: error.response?.data?.error?.message || '请求失败',
        });
        return 
      }
    }
  }

  // 打印响应数据
  console.log('Deepseek API Response:', response.data);
  // 返回响应
  res.json(response.data);

})


module.exports = router;